/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Busquedas;

import Estados.*;
import Juegos.*;
import java.util.ArrayList;

/**
 *
 * @author Alvaro
 */
public abstract class Busqueda {

    Estado inicial;
    ArrayList<Estado> solucion;
    Juego juego;

    public Busqueda(Estado ini,Juego juego){
        this.inicial=ini;
        this.solucion=new ArrayList<Estado>();
        this.juego=juego;
    }

    public Estado getInicial(){
        return this.inicial;
    }
    
    public boolean solucionar(Estado e){
        this.solucion.add(0,e);
        if(e.getPadre()!=null)
            solucionar(e.getPadre());
        else{
            return true;
        }
        return true;
    }

    public ArrayList getSolucion(){
        return this.solucion;
    }

    public abstract ArrayList<Estado> resolver();

}
